#pragma once

class IObject;
class ISomeContainterIterator
{
public:
    virtual ~ISomeContainterIterator(){}

    virtual boost::shared_ptr<IObject> Begin() = 0;
    virtual boost::shared_ptr<IObject> End() = 0;
    virtual boost::shared_ptr<IObject> Next() = 0;
    virtual boost::shared_ptr<IObject> Prev() = 0;
};
